package com.feisuanyz.lyweb01.pojo.query;

import lombok.Data;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.NotBlank;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 解决方案查询对象
 *
 * @author deng
 * @date 2025-02-26 11:57:37
 */
@Data
public class SolutionQuery {

    /**
     * 分页页码：必填、大于0
     */
    @NotNull(groups = { QueryGroup.class }, message = "页码不能为空")
    @Positive(groups = { QueryGroup.class }, message = "页码必须大于0")
    @Schema(description = "分页页码：必填、大于0")
    private Integer pageIndex;

    /**
     * 分页大小：必填、大于0
     */
    @NotNull(groups = { QueryGroup.class }, message = "分页大小不能为空")
    @Positive(groups = { QueryGroup.class }, message = "分页大小必须大于0")
    @Schema(description = "分页大小：必填、大于0")
    private Integer pageSize;

    /**
     * 解决方案ID：必填
     */
    @NotNull(groups = { QueryGroup.class }, message = "解决方案ID不能为空")
    @Schema(description = "解决方案ID：必填")
    private Integer solutionId;

    /**
     * 搜索关键词：必填
     */
    @NotBlank(groups = { QueryGroup.class }, message = "搜索关键词不能为空")
    @Schema(description = "搜索关键词：必填")
    private String keyword;
}
